﻿using Seg.Entidades;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Seg.Datos
{
    public class PerfilUsuarioOficinaDetalleDatos
    {
        BD_SEGEntities context = new BD_SEGEntities();

        public List<PerfilUsuarioOficinaDetalle> obtenerPerfilUsuarioOficinaDetalleXCod(int CodigoPerfilUsuario)
        {
            var datos = new List<Seg.Entidades.PerfilUsuarioOficinaDetalle>();
            datos = context.PerfilUsuarioOficinaDetalle.Where(x =>
                (x.CodigoPerfilUsuario == CodigoPerfilUsuario)
                ).ToList();
            return datos;
        }
        public PerfilUsuarioOficinaDetalle obtenerDetalle(int CodigoPerfilUsuario, int CodigoOpcion)
        {
            var datos = context.PerfilUsuarioOficinaDetalle.Where(x =>
                ((x.CodigoPerfilUsuario == CodigoPerfilUsuario)
                && (x.CodigoOpcion == CodigoOpcion))
                ).FirstOrDefault();
            return datos;
        }
        public int Insertar(PerfilUsuarioOficinaDetalle entidad)
        {
            context.PerfilUsuarioOficinaDetalle.Add(entidad);
            var r = context.SaveChanges();
            return r;
        }
        public int Actualizar(PerfilUsuarioOficinaDetalle entidad)
        {
            var obj = context.PerfilUsuarioOficinaDetalle.Where(x =>
                ((x.CodigoPerfilUsuario == entidad.CodigoPerfilUsuario)
                && (x.CodigoOpcion == entidad.CodigoOpcion))
                ).FirstOrDefault();
            int r=0;
            //si existe es actualizacion
            if (obj != null)
            {
                obj.TipoAcceso = entidad.TipoAcceso;
                r = context.SaveChanges();
            }
            else {
                //si NO existe es insert
                r = Insertar(entidad);
            }
            return r;
        }
    }
}
